ניהול ובקרה של בית חכם באמצעות אפליקציית Android אמג'ד ח'ורי המכללה האקדמית להנדסה בהנחיית מנחה המכללה, מר פיני זורע. חתימה: כ"ט באדר התשע"ה 9.3.02.5 הוגש לשם מילוי חלקי של הדרישות לקבלת התואר "בוגר במדעים B.Sc. בהנדסת " 1
תקציר פרויקט זה הוא מערכת ניהול ובקרה מרחוק באמצעות מכשיר טלפון חכם שפועל על יישומון )אפליקציה( של מערכת הפעלה,Android הפעלת מכשירי חשמל לבית מרחוק ומתן ביטחון כאשר המשתמש נמצא במרחק של המקום. הפרויקט מבוסס SMS ומשתמש בטכנולוגיה אלחוטית לחולל מהפכה ברמת החיים. המערכת הזו מספקת פתרון אידיאלי לבעיות שעומדות בפני בעלי הבית בחיי היום יום. המערכת היא אלחוטית ולכן ישימה יותר וחסכונית, ומספקת אבטחה מפני פריצות. המערכת משתמשת בטכנולוגיית GSM וכך לספק גישה בכל מקום במערכת לאבטחה ושליטה על מכשירים חשמליים. 2
תודות ארצה להודות למר פיני זורע, מנחה הפרויקט, על כך שהציג בפניי את נושא הפרויקט וכן על עזרתו במהלך מימושו וכתיבת הספר. 3
תוכן עניינים רשימת טבלאות ואיורים... 5 1. מבוא... 7 2. תיאור המערכת... 8..0. מפרט פונקציונאלי... 8 0.0. מפרט טכני... 9..0.0. טבלת פירוט מכלולי המערכת... 9 0.0.0. תרשים מלבנים... 2. 0.0.3. תרשים זרימה של המערכת... 0.0.2. עקרון הפעולה של המערכת... 0. 0.0.5. תמונת מצב המערכת בתחילת עבודת ההתמחות... 2. 3. מטלות... 2...3. מטלות הנדסיות ברמת מפרט טכני... 2. 3.0. ביצוע מטלות ושלבי תכנון... 2. 3.3. סכמה אלקטרונית של המערכת... 05 3.2. בעיות הנדסיות... 02 4. סיכום ודיון... 07..2. סיכום... 07 2.0. ניתוח בחירת פתרון והשואה לאפשרויות אחרות... 07 5. סימוכין... 08 6. נספחים... 08 7. קורות חיים... 09 4
רשימת טבלאות ואיורים רשימת טבלאות טבלת ראשי תיבות וקיצורים... 2 טבלת מכלולי המערכת... 9 טבלת הודעות SMS שהמערכת מקבלת מהאפליקציה... 0. טבלת הודעות SMS שהמערכת שולחת למשתמש... 0....0.3.2 רשימת איורים הרשימה ממוספרת לפי סדר הופעת התמונות והתרשימים במסמך. איור.- תרשים מלבנים של המערכת... 2. איור 0- תרשים זרימה של המערכת... איור 3- תבנית להקלדת סיסמה להפעלת מערכת הביטחון... 3. איור 2- תרשים מלבנים של מערכת ממסרים... 2. איור 5- סכמה אלקטרונית של חיבור ממסר ל-.5...ULN2803 איור 2 סכמה אלקטרונית של חיבור fly back diode לממסר... 2. איור Arduino 7.7... block diagram of connection between GPRS Shield to איור 8- סכמה אלקטרונית של חיבור גלאי חלון/דלת פתוח ל-...7. Arduino איור 9- סכמה אלקטרונית של חיבור גלאי נפח ל-...7. Arduino איור 2.- סכמה אלקטרונית של התחברות לוח מקשים במערכת... 9. איור..- סכמה אלקטרונית של התחברות מסך 2x16 LCD ל-.9...Arduino איור 0.- סכמה אלקטרונית של יחידת פתיחת/סגירת דלת חניה... 02 איור 3.- סכמה אלקטרונית של חיבור מפסק גבול ל- 02...Arduino איור 2.- תרשים התקנת IR LED ו photo transistor ל- דלת חניה... 0 איור 5.- סכמה אלקטרונית של חיבורDIODE...00 IR איור 2.- סכמה אלקטרונית של חיבורphoto-transistor...00 איור 7.- סכמה אלקטרונית יחידת בדיקת הפסקת חשמל... 03 איור 8.- סכמה אלקטרונית לחיבור סוללת גיבוי... 02 איור 9.- סכמה אלקטרונית למחלק מתח לבדיקת חולשת סוללה... 02 איור 02- סכמה אלקטרונית למחלק מתח... 07...0.3.2.5.2.7.8.9..2.....0..3..2..5..2..7..8..9.02 5
טבלת ראשי-תיבות וקיצורים Global System for Mobile communication International Data Corporation Integrated Development Environment Infra-Red Liquid Crystal Display Short Message Service Subscriber Identity Module Universal Asynchronous Receiver/Transmitter Universal Serial Bus GSM IDC IDE IR LCD SMS SIM UART USB טבלה.-טבלת ראשי תיבות וקיצורים 6
1. מבוא הצמיחה של שימוש בטכנולוגיה הדיגיטלית, רשתות אלחוטיות וניידת, וייצור השירותים הטכנולוגית בכל רחבי העולם, מעלה את הדרישה לנצל הטכנולוגיה הזו בשביל לתת שירות רצוי ו נוח. הספר הזה מציג מערכת ניהול התקנים חשמליים ביתיים ומערכת ביטחון מבוססות,GSM דרך אפליקציית אנדרואיד, ולפי ה-, IDC מערכת ההפעלה Android היא המנהיג ב-מרוץ מערכות ההפעלה ב- smart ]0[. GSM ורשת הטלפון הנייד הדומיננטית בעולם כיום היא ].[, phones התפתחות של המערכת הגלובלית לתקשורת הניידת ) GSM ( יש את החידוש של תקשורת למרחקים במיקום מרוחק, והפרויקט הזה משתמש ביכולת הזאת עבור שליטה מרחוק של התקני חשמל ביתיים. לדוגמה, אדם נוהג לעבודה, פתאום נזכר שהשאיר את ה-דוד חשמלי דלוק, ואין אף אחד בבית, בנסיבות הרגילות היא לנסוע חזרה ולכבות את ה-דוד, אבל עם הטלפון הנייד ביד שמצויד באפליקציה Home Automation App יפתור לו את הבעיה וימשיך את דרכו. 7
2 תיאור המערכת 2.1 מפרט פונקציונאלי מטרת ההתקן היא לנצל את הטכנולוגיה הדיגיטלית וטכנולוגיית התקשורת בכדי לתת שירות של ניהול ובקרה של בית חכם, ההתקן מאפשר למשתמש להפעיל/להפסיק פעולת מכשירים ביתיים, פתיחת/סגירת דלת חניה, המערכת כוללת מערכת ביטחון, ויחידה לבקרת הפסקת חשמל, ו סוללת גיבוי למקרה של הפסקת חשמל. מערכת זו כוללת הפעלה/ניתוק של ההתקנים/מכשירים הבאים:.. אזור תאורה.. 0. אזור תאורה 0. 3. אזור תאורה 3. 2. דוד חשמלי. 5. מחמם. 2. מזגן. 7. דלת חשמלית. המערכת מקבלת הודעות מהמשתמש בעזרת האפליקציה, ולפי תוכן ההודעה המערכת מפעילה/מנתקת המכשיר המתאים,והמערכת שולחת הודעות משוב עם כל הפעלת/כיבוי מכשיר שמודיעה על ביצוע הפעולה. וגם ההתקן מספק מערכת ביטחון שתופעל ותכובה בהקלדת הסיסמה הנכונה שהמערכת נותנת למשתמש לבחור אותה ברגע התקנת המערכת. מערכת הביטחון כוללת 3 גלאי דלת/חלון פתוח ו 3 גלאי נפח, 2x16 LCDלהציג Display מצב מערכת הביטחון אם היא במצב פעיל או כבוי, 4x4 Keypad להקלדת סיסמת הפעלה/כיבוי של מערכת הביטחון, סרנה להזעיק בזמן זיהוי בגלאים, ו הפעלת/כיבוי מערכת הביטחון תבצע דרך הקלדת סיסמה נכונה בלוח המקשים או דרך הפלאפון, ושולחת הודעות משוב עם כל הפעלה/כיבוי של המערכת. המערכת שולחת התראות לפלאפון המשתמש על הפסקת חשמל, ועל זיהוי במערכת הביטחון. המערכת כוללת יחידה ל פתיחת/סגירת דלת חניה, מקבלת הודעות SMS מפלאפון המשתמש והמערכת פותחת/סוגרת דלת בהתאם לתוכן ההודעות. 8
2.2 מפרט טכני 2.2.1 טבלת פירוט מכלולי המערכת שם המכלול ערכת פיתוח Arduino mega 2560 GSM Shield 4x4 Keypad 2x16 LCD Display Smart Phone with Android OS Relays Serna דוחף זרם ULN2803 L293D 12V DC MOTOR with 20 rpm 16-Key Keypad Encoder 74c922 גלאי דלת/חלון פתוח גלאי נפח תיאור ערכת פיתוח שאליה מעלים את התוכנה שמתארת את התנהגות ואופן עבודת המערכת עם הציוד ההיקפי שמחוברים אליה, כך שהתוכנה נכתבת בשפת C ב. Arduino IDE מחבר את ה Arduino mega 2560 לרשת, GSM מקבל, SIM Card ושולח ומקבל הודעות SMS לפי דרישות התוכנה ב-. Arduino Mega 2560 לוח מקשים בעל ששה עשר מקשים, בעזרתו מכניסים קוד להפעלת וכיבוי מערכת הביטחון. מסך LCD בעל שתי שורות וששה עשר תווים בכל שורה, מציג את מצב מערכת הביטחון, אם היא במצב פעיל או כבוי. מפעיל את האפליקציה שבעזרתה שולטים על המכשירים. הממשקים בין המכשירים לבין המערכת, שהם מחברים לחשמל או מנתקים מחשמל את המכשירים בהתאם לפי ההודעות שהמקרו-בקר מקבל. תפעל ברגע שלפחות אחד מגלאי דלת/חלון פתוח וגלאי הנפח יקבל זיהוי. IC למיתוג הממסרים. driver,ic למנוע, המאפשר למנוע DC להסתובב בשני הכיוונים. מנוע לפתיחת וסגירת דלת חניה. מקודד של 2. מפתחות Keypad) 4x4), כולל את כל החלקים הפנימיים לקחת את הפלט של מתג, ומקודד אותו על ארבע יציאות, ונותן. לוגי ביציאה של DA ברגע שיש נתון בארבע היציאות. לזיהוי פתיחת דלת/חלון. לזיהוי תזוזות בחדר. טבלה 0 -טבלת מכלולי המערכת 9
L293D 74C922 המכללה האקדמית להנדסה 2.2.2 תרשים מלבנים Electromagnetic door Boiler Heater Cooler Light1 Light2 Light3 Backup Battery ULN2803 Serna Power outage detector Arduino mega 2560 2x16 LCD Display 4x4 Keypad Smart Phone with Android OS GSM Network GSM Shield 12 V- DC MOTOR 3 PIR motion sensors 20 [rpm] 3 open door/window detectors איור.-תרשים מלבנים של המערכת 10
2.2.3 תרשים זרימה No Yes No Yes איור 0 -תרשים זרימה של המערכת 11
2.2.4 עקרון הפעולה GPRS ומחבר מתח אספקה למערכת, ומדליק את ה GPRS Shield ל- SIM המשתמש מכניס כרטיס.Shield המערכת מבקשת מהמשתמש להקליד מספר פלאפון שלו. המערכת מבקשת מהמשתמש לבחור סיסמה בת 2 ספרות. המערכת שולחת הודעה "connected" למספר הפלאפון שהוקלד. המערכת מוכנה לקבל הודעות, SMS ולהקים את פעולתה ואם ההודעות לא ממספר המשתמש אז המערכת מתעלמת מהם. אם התקבלה למערכת הודעת, SMS המערכת בודקת תוכן ההודעה ומבצעת את הנדרש בהתאם לתוכן ההודעה, ומחזירה משוב עם אותו תוכן הודעה שהתקבלה למשתמש, ובכך המשתמש מודע לביצוע הפעולה. רשימת ההודעות : LIGHT1-ON LIGHT1-OFF LIGHT2-ON LIGHT2-OFF LIGHT3-ON LIGHT3-OFF BOILER-ON BOILER-OFF COOLER-ON COOLER-OFF HEATER-ON HEATER-OFF DOOR-UNLOCK DOOR-LOCK DOOR-UP DOOR-DOWN 4 digits code טבלה 3 -טבלת הודעות SMS שהמערכת מקבלת מהאפליקציה LIGHT1-ON LIGHT1-OFF LIGHT2-ON LIGHT2-OFF LIGHT3-ON LIGHT3-OFF DOOR-LOCK BOILER-OFF COOLER-ON DOOR-UNLOCK HEATER-ON HEATER-OFF COOLER-OFF BOILER-ON POWER-OUTAGE DOOR-DOWN Alarm off System ON System OFF Alarm open window detected DOOR-UP Charge Battery טבלה 4 -טבלת הודעות SMS שהמערכת שולחת למשתמש Alarm moving detected אם המשתמש רוצה להפעיל מערכת הביטחון, זה יכול להיות באמצעות שליחת הקוד מהפלאפון או באמצעות לוח המקשים ובזה יש לו אופציה לבחור גלאי אחד מתוך שלושה של גלאי דלת/חלון פתוח וגלאי אחד מתוך שלושת גלאי הנפח, שהמערכת תתעלם מהם, באופן הבא כמתואר באיור 3: 12
Select to disable open door/window detector התבנית להכנסת סיסמה: Select to disable PIR sensor 4 digits code Options: Options: A disable detector number 1 A disable sensor number 1 B disable detector number 2 B disable sensor number 2 C disable detector number 3 C disable sensor number 3 else enable all of them else enable all of them איור 3- תבנית להקלדת סיסמה להפעלת מערכת הביטחון המשתמש מקליד את הסיסמה לפי המבנה המתואר ולוחץ על ' * ', אם הסיסמה נכונה שהוקלדה מלוח המקשים או שנשלחה מהפלאפון, יקבל הודעה על מסך ה "system on" LCD ומערכת הביטחון תהיה במצב פעיל, ואם הסיסמה לא נכונה מקבל על המסך off" "system ומערכת הביטחון תישאר במצב כבוי. בזמן שמערכת הביטחון במצב פעיל, אם אחד הגלאים שולח זיהוי למיקרו-בקר, המיקרו-בקר מפעיל את הסרנה ושולח הודעת SMS כהתראה למשתמש. בזמן שמערכת הביטחון במצע פעיל, המערכת עדיין זמינה לקבלת הודעות.SMS המשתמש יכול לכבות את מערכת הביטחון, דרך הקלדת סיסמה נכונה בלוח מקשים או דרך האפליקציה, שהיא אותה סיסמה שמפעילה את מערכת הביטחון, בלי ספרות של בחירת חיישנים. אם התרחש הפסקת חשמל, ומערכת שולחת הודעה לפלאפון המשתמש Outage" "Power, והמערכת ישירות מתחברת עם סוללת גיבוי, להשארת מערכת הביטחון בעבודה שכוללת הסרינה וה.GPRS Shield המערכת כל הזמן מבקרת מצב סוללת הגיבוי, אם הסוללה מגיעה לרמה פחות מ, 9V המערכת שולחת הודעה על חולשת הסוללה לפלאפון המשתמש. בזמן פתיחת או סגירת דלת חניה לפי בקשת המשתמש, הדלת מזהה סגירתו עד הסוף או פתיחתו עד הסוף בהשתמש עם מפסקי גבול. ובזמן סגירתו, אם יש משהו או מישהו שנמצא מתחת לדלת הדלת לא סוגר כל עוד יש דבר שחוסם את דרכו. אם סוללת גיבוי מתחלשת ומגיעה ל, 9V המערכת שולחת הודעת SMS לפלאפון המשתמש שמודיעה על חולשת הסוללה. 13
ULN2803 Relays המכללה האקדמית להנדסה 2.2.5 תמונת מצב המערכת בתחילת עבודת ההתמחות השימוש במכלולים השונים בפרויקט וכתיבת הקוד למיקרו-בקר ובניית המערכת השלמה הכל נעשה ע''י כותב הפרויק עם הנחייתו של מנחה המכללה פיני זורע. 3 מטלות 3.1 מטלות הנדסיות ברמת מפרט דרישות תכנון חומרתי של מערכת הממסרים בשל שליטה על חיבור וניתוק המכשירים החשמליים. תכנון חומרתי של מערכת הבטיחות שמורכבת מ 4x4, Keypad 2x16, LCD Display והגלאים. תכנון חומרתי של יחידת פתיחת וסגירת דלת חניה. כתיבת קוד ל Arduino mega 2560 בשפת C שמקיימת את הדרישות. תכנון ובניית אפליקציית אנדרואיד ל- smartphone שמקיימת את הדרישות והפונקציונאליות. תכנון בדיקת הפסקת חשמל והתחברות סוללת גיבוי ובדיקת מצב הסוללה. 3.2 ביצוע המטלות ע''י המתמחה ביצוע מטלות ושלבי תכנון תכנון חומרתי של מערכת הממסרים: המערכת מכילה שבעה ממסרים שהם הממשק בין המערכת לבין ההתקנים החשמליים בבית, ובכך מפעילים ומנתקים התקנים לפי הדרישות. Arduino Mega 2560 איור 2 -תרשים מלבנים של מערכת ממסרים המכשירים שהמערכת שולטת בהם הם בעלי הספקים גוהים, דוד חשמלי והמזגן והמחמם יכולים צורכים לא פחות מ, 2000W דלת חשמלית לא צורכת יותר מ 10W, מנורה לא צורכת יותר מ 100W, ואפשר לשים כמה מנורות באזור תאורה אחד. לכן בחרתי בממסרים שיכולים להעביר זרמים גבוהים, לכן בחרתי בממסרים HF115F שהם יכולים להעביר זרמים עד, 12 A ומתח מותג עד. 400 VAC 14
הממסר מקבל לסליל שלו מתח של 12v, ולפי דפי נתונים של הממסר, ההתנגדות של הסליל היא,360x(1±10%)Ω ולפי חוק אוהם, הזרם שיתקבל בסליל כשמתייחסים להתנגדות כ- 360x(1+10%)Ω הוא, ובמקביל הוספתי LED כאינדיקציה על מצב פעולת הממסר,ולפי דפי נתונים של ה LED,הזרם את הדרישה לפי חישוב הבא :, ובשל קבלת זרם ששואף ל- 20 ma בחרתי בנגד לחיבור טורי עם ה LED שמקיים נקבל שנגד מתאים יהיה סביבות 500Ω. בחרתי בנגד של 560Ω כך זורם 18 ma דרך ה LED,וחשבתי סכום שני הזרמים [ma] 47 = 30, 18 + וזה זרם ממקור מתח של 12V,שזה מעבר ליכולת של ה מיקרו-בקר לקבל לעבודה תקינה, לכן בשביל מיתוג הממסרים ושמירה על המיקרו-בקר, השתמשתי ברכיב, ULN2803 כמתואר באיור 5: איור 5- סכימה אלקטרונית של חיבור ממסר ל- ULN2803 ULN2803 הוא שבב IC עם מערך של 8 דרלנגטון טרנזיסטור, מאפשר ממשק אותות ברמה נמוכה עם עומסים של זרם יותר גבוה, השבב לוקח אותות ברמה נמוכה ( CMOS TTL, הפועלים במתח נמוך וזרמים נמוכים(, ופועל כמתג ON/OFF לאות ברמה גבוהה יותר בצד שני. על פי חוקים פיזיקליים, נוצר שדה מגנטי סביב הסליל בזמן זרימת זרם דרכו, וכאשר מתח האספקה הוסר לפתע, נוצר כא''מ מאוד גבוה, והשדה המגנטי לא יכול להיעלם בגלל חוק שימור האנרגיה, לכן צריך לתת לו להתפרק, ובשביל לטפל בדבר כזה משתמשים במה שנקרא, fly back diode שממקמים אותה בצורה הבאה: 15
איור 2- סכימה אלקטרונית של חיבור fly back diode לממסר אבל במערכת שלי ה-דיודת הגנה diode) (fly back נמצאת בתוך הרכיב,ULN2803 לכן לא צריך להוסיף עוד דיודה במקביל לסליל הממסר, מחבר לרגל מספר 2. של הרכיב ULN2803 חוט מרגל הסליל שמחוברת למתח אספקה כמתואר באיור 5, ומערכת הממסרים היא חיבור 7 ממסרים ל 7 רגליים שונים של,ULN2803 שכל ממסר מחובר כמתואר באיור 5, שזה מתואר בסכמה האלקטרונית של המערכת בעמוד מס' 05. :GSM תכנון מערכת התקשורת של המערכת עם רשת ה בכדי לתקשר עם רשת ה GSM השתמשתי במודול GPRS שמספק דרך להשתמש ברשת הטלפון הנייד GSM לקבל ולשלוח נתונים ממיקום רחוק,והמודל מאפשר להשיג זאת באמצעות כל אחת משלושת השיטות : באמצעות, SMS באמצעות אודיו, באמצעות שירות.GPRS שיטת התקשורת בפרויקט הזה היא דרך הודעות SMS ל. GPRS Shield יש מודם שמתקשר עם רשת ה GSM באמצעות יציאה טורית לשידור וקליטת נתונים. מודול ה GPRS מוגדר ונשלט באמצעות ה UART שלו באמצעות פקודות,AT בהתבסס על מודול SIM900 מ-. SIMCOM מודול GPRS מחובר עם המיקרו-בקר Arduino mega 2560 באמצעות הדקים Tx ו Rx של לוח,Arduino סיכת Tx של לוח Arduino מחוברת לסיכת Rx של מודול, GPRS וסיכת Rx של לוח Arduino מחוברת לסיכת Tx של מודול, GSM וסיכת GND של מודול GPRS מחוברת לסיכת GND של לוח. Arduino המיקרו-בקר נותן פקודות AT ל מודול GPRS באמצעות תקשורת טורית עם קצב שידור 19200 bps )שזאת הגדרת יצרן ואפשר לשנות אותה דרך פקודת,]2[)AT בין המיקרו-בקר ל מודול, GPRS פקודות AT והודעות,Arduino נשלחות או מתקבלות מ-המודול באמצעות פונקציות תקשורת טורית הניתנות על ידי ספריית SMS ופונקציות תקשורת טורית שבשימוש בפרויקט הם: Serial.begin(); - מסייעת לאתחל את היציאה הטורית עם קצב שידור נתון. Serial.write(); - כדי לשלוח נתונים ליציאה הטורית. 16
Serial.available(); - בכדי לבדוק אם יש נתונים זמינים בכניסה הטורית. Serial.read(); - כדי לקרוא את הנתונים מהיציאה הטורית המשומשת. ה GSM מתקשר עם ה Arduino דרך תקשורת טורית ביניהם כמתואר באיור 7: GPRS Shield RX TX RX TX Arduino Mega 5260 GND GND 4x4 איור -7 Arduino block diagram of connection between GPRS Shield to תכנון מערכת הביטחון: מערכת הביטחון מורכבת משלושה גלאי דלת/ חלון פתוח, ושלושה גלאי נפח, סרנה, 2x16, LCD ו.keypad אופן פעולת גלאי דלת/חלון פתוח וגלאי נפח: גלאי דלת/חלון פתוח מורכב משני חלקים, חלק שהוא מגנט, וחלק שהוא מתג, המתג ייסגר ויפתח בהתאם עם קירוב והרחקת החלק המגנטי ממנו. איור 9- סכימה אלקטרונית של חיבור גלאי נפח ל- Arduino איור 8- סכימה אלקטרונית של חיבור גלאי חלון/דלת פתוח ל- Arduino 17
כאשר המגנט מוצמד למתג המתג יהיה פתוח, וכאשר המגנט יורחק המתג ייסגר, ולפי זה תכננתי להשתמש ב pull-up resistor כמתואר באיור, 8 וברגע שהמגנט מוצמד המתג יהיה פתוח ולפין דיגיטלי של המיקרו-בקר יקבל. לוגי שמשמעותו שהחלון סגור, וכאשר המגנט מתרחק המתג נסגר ולפין הדיגיטלי מתקבל 2 לוגי שמשמעותו שהדלת נפתח. גלאי הנפח מקבל מתח אספקה של 12V, ויש לו שתי יציאות של ממסר שהוא חלק ממעגל האלקטרוני של הגלאי, ב ממסר יש מתג בין שתי קצוות, אחרי שהגלאי מקבל את הזמן שלו להתייצב, המתג יהיה סגור כל הזמן כל עוד אין זיהוי, וברגע שהגלאי מזהה תזוזה, המתג נפתח, ובהסתמך על אופן פעולה זו, תכננתי להשתמש ב pull-up resistor כמתואר באיור. 9 ברגע שאין זיהוי המתג יהיה סגור ולפין דיגיטלי של המיקרו-בקר יקבל 2 לוגי שמשמעותו שאין זיהוי, וכאשר מתרחש זיהוי המתג נפתח ולפין הדיגיטלי מתקבל. לוגי שמשמעותו שהתרחש זיהוי. הנגד הוא נגד pull-up בעל ערך 10 kω שזה יגרום לזרם קטן לפין הכניסה לפי חוק אוהם: ולפי תכונות של הכניסות הדיגיטליות ל,Arduino זרמים מאוד קטנים לכניסה ניתנים לשנות את מצב פין הכניסה ממצב למצב] 3 [, ולכן 0.5 ma מספיק לשנות מצב פין הכניסה שמחובר אליו. הפעלת 4x4 Keypad ו :2x16 LCD Display לוח המקשים 4x4 Keypad מספק ממשק שימושי לפרויקט בין המשתמש למיקרו-בקר, ללוח המקשים יש 8 יציאות ( 2 יציאות של שורות ו 2 יציאות של עמודות, לפי כללי פעולת לוח המקשים ), תכננתי להשתמש ברכיב 74C922 כי רכיב זה מקבל את הנתון של 8 היציאות של לוח המקשים ומקודד אותו רק על ארבע יציאות באמצעות טבלת אמת, וכאשר ילחץ על מקש כלשהו השבב עובר תהליך סריקה וכשהתהליך מסתיים הנתון יהיה מוכן ביציאה וסיכת ה )data available( DA הולכת ל. לוגי, ונשארת. לוגי עד שהמקש משוחרר, ובסיכה הזאת השתמשתי כפסיקה למיקרו-בקר בכדי לזהות שמקש נלחץ ויש נתון לקבל. ולרכיב 74c922 חברתי שני קבלים, אחד לרגל OSC של הרכיב, שזה קובע זמן סריקה של נתון יציאה מלוח המקשים, ולפי צריכת המערכת זמן התגובה לא עניין קריטי, לכן בחרתי בזמן תגובה של,1.5ms ולפי טבלת Typical Fscan VS Cosc ב Datasheet של הרכיב, קבל מתאים הוא בעל ערך, OSC שזה 2. פעמים קיבול הקבל של Datasheet לפי המלצת יצרן ב KBM, ובחרתי קבל לרגל 0.1µF שזה. 1µF 18
ש, המכללה האקדמית להנדסה והחיבור כמתואר באיור 2.: Arduino mega 2560 איור 2.- סכימה אלקטרונית של התחברות לוח מקשים במערכת ה 2x16 LCD Display עם בקר HD44780 חיברתי ישירות למיקרו-בקר כמתואר באיור.., ובהשתמש בספריה מוכנה LiquidCrystal.h ספריה זו מאפשרת למיקרו-בקר Arduino לשלוט על תצוגת מסכי LCD מבוססים על בקר,HD44780 Hitachi והמיקרו-בקר שולט על התצוגה במסך בהשתמש בפונקציות ספריה של הספרייה ]5[. LiquidCrystal.h איור..- סכמה אלקטרונית של התחברות מסך 2x16 LCD ל- Arduino 19
תכנון ובניית מערכת לפתיחת וסגירת דלת חניה: המערכת מורכבת ממנוע DC של 12 V ו L293D Driver 20, rpm למנוע, ושני מפסקי גבול, infrared.photo-transistor,led לפי הנתונים של המנוע] 2 [, הוא צורך זרם בריקם של, 20mA אבל המנוע בפרויקט לא יהיה בריקם, הוא יקבל עומס, ולפי הנתונים של המנוע הזרם הנומינלי שלו הוא, 110mA והמיקרו-בקר לא יכול לספק לו מספיק זרם ( מוגבל ל (. 40mA לכן בחרתי ב זרמים של 600mA ומאפשר שליטה על כיוון סיבוב המנוע. להלן איור 12 מתאר את החיבור בין המנוע ל- : L293D L293D כי הוא עומד עד איור 0.- סכמה אלקטרונית של יחידת פתיחת/סגירת דלת הרגל 9 היא רגל אפשור עבודה של OUT3 ו, OUT4 במצב של. לוגי העבודה תתאפשר, ובמצב 2 לוגי העבודה לא תתאפשר.הרגליים 5,9.,2. מחוברים ליציאות דיגיטליות של המיקרו-בקר כאשר רגל 2. מקבלת. לוגי ורגל 5. מקבלת 2 לוגי, המנוע מסתובב לאחד הכיוונים, וכאשר רגל 2. מקבלת 2 לוגי ורגל 5. מקבלת. לוגי המנוע יסתובב לכיוון ההפוך, בתנאי שרגל האפשור 9 היא ב-. לוגי. בכדי שהמנוע יעצור בגבולות הדלת, השתמשתי במפסקי גבול, כך שברגע שהמפסק נלחץ המיקרו בקר מקבל פסיקה והמנוע נעצר, והמפסק מחובר מחובר לפי איור 3.:. איור 3.- סכמה אלקטרונית של חיבור מפסק גבול ל- Arduino 20
כל עוד אין לחיצה המיקרו-בקר מקבל. לוגי דרך ה pull-up resistor של 10 kω שזה יגרום לזרם קטן לפין הכניסה של המיקרו-בקר כפי שחשבתי קודם לגלאים זרם של 0.5, ma ולפי תכונות של הכניסות הדיגיטליות ל- Arduino, זרמים מאוד קטנים לכניסה ניתנים לשנות את מצב פין הכניסה ממצב למצב, ולכן 0.5 ma מספיק לשנות מצב פין הכניסה שמחובר אליו] 3 [. ועוד השתמשתי בחיישני IR בכדי לזהות אם מישהו או משהו נמצא מתחת לדלת אז הוא נעצר בכדי לא לגרום לנזק, ובשביל דרישה זאת, התקנתי בצד, IR LED ובצד השני התקנתי פוטו-טרנזיסטור, כמתואר באיור : 14 IR LED דלת נסגר Phototransistor איור 2.- תרשים התקנת IR LED ו photo transistor ל- דלת חניה ה- Infrared LED מחובר כמתואר באיור 5.: חברתי דיודת אינפרה אדום עם נגד בטור למקור מתח, 5 V הנגד נבחר לקביעת הזרם ב IR LED שיהיה בטווח זרמים אמין ל- LED,IR מפל המתח על ה- LED IR בהולכה זה, 1.25v לכן הזרם שיזרום דרכה הוא: ( ),ולפי ה- Datasheet של ה, infrared diode זרם מקסימלי שיכולה לקבל הוא, 50 ma לכן הזרם שזורם בדיודה בטווח המותר. ה- Photo-Transistor מחובר כמתואר באיור 2.: ה פוטו-טרנזיסטור מקבל ל- Base גלי אינפרה אדום הנפלטים מה- LED,IR וכל עוד הוא מקבל גלי אינפרה אדום שמספיקים להכנסתו למצב פעיל, אז זה יגרום לקבלת 2 לוגי ביציאה למיקרו-בקר, וברגע שיש חסימה לגלי האינפרה אדום ו ה Base לא חשוף לקרינה, אז הטרנזיסטור ימצא במצב קטעון, יתקבל. לוגי ביציאה למיקרו-בקר, והשתמשתי ב pull-up resistor של 10k מאותה סיבה של שימושו בגלאי נפח וגלאי דלת/חלון פתוח. 21
איור 2.- סכמה אלקטרונית של חיבור Photo-transistor איור 5.- סכמה אלקטרונית של חיבור IR DIODE תכנון ובניית אפליקציית אנדרואיד: האפליקציה נבנתה ב-פלטפורמת פיתוח App Invertor Beta, Beta App Invertor ל-אנדרואיד היא אפליקציית אינטרנט קוד פתוח המסופקת על ידי, Google והיא מאפשרת למצטרפים חדשים לתכנות מחשבים ליצור יישומי תוכנה עבור מערכת ההפעלה אנדרואיד, והיא משתמשת בממשק גרפי, המאפשר למשתמשים לגרור ולשחרר חפצים חזותיים כדי ליצור יישום שיכול לרוץ על מכשירי אנדרואיד. כתיבת קוד ל Arduino mega 2560 בשפת C שמקיימת את הדרישות: הקוד נכתב ב, Arduino IDE 1.0.5 שזאת היא סביבת הפיתוח הסטנדרטית עבור בקירם של, Arduino הקוד נכתב בשפת C כך שמקיים את דרישות המערכת ומעלה אותו לבקר באמצעות חיבור.USB 22
תכנון בדיקת הפסקת חשמל והתחברות סוללת גיבוי: תכננתי להשתמש ב Opto-isolator מסוג, 4N25 בכדי לבדוק הפסקת חשמל במקור אספקה ראשית שזה החשמל בבית, כי הוא מבודד בין הכניסה ל Arduino ולאספקה ראשית, חיברתי נגד של ערך 300Ω בכניסה ל Opto-isolator בכדי להגביל את הזרם ולשמור על ה- infrared diode בתוך הרכיב. על ה- infrared diode בזמן הולכה נופל מתח של, 1.25v לכן על הנגד ייפול מתח של, 11.75v כתוצאה ), ולפי ה- מכך ובהתאם לערך הנגד, הזרם שיזרום דרכו יהיה סביבות ( 37mA datasheet של ה- infrared diode הזרם מתאים לעבודה תקינה כל הזמן. 300 איור 7.- סכמה אלקטרונית יחידת בדיקת הפסקת חשמל ל- collector של ה photo-transistor שנמצא בתוך הרכיב Opto-isolator מחובר pull-up resistor של photo- תשדר גלי אינפרה אדום ותגרום ל infrared diode, כל עוד יש מתח בכניסה., ה 10 kω transistor להיות במצב פעיל וב- collector שלו יתקבל 2 לוגי שזאת אינדיקציה שיש מתח בכניסה, וברגע נפילת מתח ה- diode infrared ו ה photo-transistor יהיו ב קטעון ויתקבל. לוגי בכניסה למיקרו- בקר, דרך pull-up resistor של 10 kω שזה יגרום לזרם קטן לפין הכניסה לפי חוק אוהם: ולפי תכונות של הכניסות הדיגיטליות ל,Arduino זרמים מאוד קטנים לכניסה ניתנים לשנות את מצב פין הכניסה ממצב למצב, ולכן 0.5 ma מספיק לשנות מצב פין הכניסה שמחובר אליו. 23
התחברות לסוללת גיבוי- תכננתי להשתמש בשתי דיודות, IN5822 כי הם דיודות בעלת יכולת לזרמים גבוהים ( עד ) 3 Amp עם ממתח כדמי נמוך. בפרויקט הזה יש צריכת זרם יכולה להגיע עד, 1.5A ובשביל עבודה תקינה לאורך הזמן הדיודות האלה מחזיקות מעמד. בחרתי באספקה ראשית שתהיה בעלת 13V בכדי לוודות שהדיודה שמחוברת אליו תנצח כל עוד יש מתח אספקה ראשית, וברגע שיש הפסקת חשמל בבית, הדיודה שמחוברת לסוללה תפעל והמערכת תסופק מהסוללה. איור 8.- סכמה אלקטרונית לחיבור סוללת גיבוי בדיקת החלשות סוללת גיבוי: תכננתי להשתמש במחלק מתח עם ערכים של נגדים כמתואר באיור 9.: To 12V battery TO Arduino analog pin A0 איור 9.- סכמה אלקטרונית למחלק מתח לבדיקת חולשת סוללה השתמשתי בנגדים עם ערכים גדולים כך שתהיה צריכת זרם קטנה של עשיריות, ma ודרך כניסה אנאלוגית ל, Arduino ה Arduino מקבל את המתח בנקודת החילוק. ובתוכנה בניתי פונקציית מד מתח לנקודה המחוברת לפין A0, וברגע שמערכת מקבלת מתח של 9V, המערכת שולחת הודעה לפלאפון המשתמש שמודיעה על החלשות הסוללה. 24
2 1 3 20 Arduino Mega 2560 Digital 5 V 21 18 19 GND Power TX1 RX1 GND Power RX TX RX TX GND Power GND Power 2 1 2x16 LCD Display 12 13 GND GND המכללה האקדמית להנדסה 3.3. סכמה אלקטרונית של המערכת 100k RESISTOR 12V Battery Main power supply 13V 0 1 2 IN5822 1 2 IN5822 0 20k RESISTOR 10k RESISTOR 300 1 2 U5 1 6 RESISTOR 5 2 4N25 4 0 0 open door/window detector open door/window detector open door/window detector 0 0 0 10K 10K 10K 10K 10K 10K 0 0 0 12 V PIR motion sensor PIR motion sensor PIR motion sensor U3 GPRS Shield 21 D21 22 D22 23 D23 24 A0 D24 25 A0 D25 26 D26 27 D27 28 D28 29 D29 30 36 D30 31 37 D36 D31 32 38 D37 D32 33 39 D38 D33 34 40 D39 D34 35 41 D40 D35 D41 to 5V pin of Arduino ULN2803 1 18 2 IN1 OUT1 17 3 IN2 OUT2 16 4 IN3 OUT3 15 5 IN4 OUT4 14 6 IN5 OUT5 13 7 IN6 OUT6 12 8 IN7 OUT7 11 9 IN8 OUT8 10 GND COM 2 7 10 15 1 9 8 16 L293D 3 IN1 OUT1 6 IN2 OUT2 11 IN3 OUT3 14 IN4 OUT4 EN1 EN2 VS VSS DC-MOTOR D1 LED 560 RESISTOR HF115F 4X4 Keypad D0 D1 D2 D3 D4 D5 D6 D7 74C922 11 17 10 X1 DOA 16 8 X2 DOB 15 7 X3 DOC 14 X4 DOD 1 12 2 Y1 DA 3 Y2 4 Y3 Y4 5 6 OSC KBM 13 OE 42 43 D42 44 D43 45 D44 2 D45 2 GND 5 V 46 D46 47 D47 48 D48 49 D49 50 D50 51 D51 52 D52 53 D53 5 V 1 2 DB7 3 DB6 4 DB5 9 DB4 11 EN 10 RS 12 RW 13 V0 14 GND Vcc D1 LED 560 RESISTOR HF115F C1 0.1 uf C2 1 uf 0 D1 LED HF115F 560 RESISTOR D1 C 10K LED HF115F NC NO 560 RESISTOR 270 RESISTOR 10K RESISTOR D1 LED HF115F D2 IR LED Q1 PHOTO NPN C 560 RESISTOR NC NO D1 LED HF115F 560 RESISTOR D1 LED HF115F 560 RESISTOR Serna 25
3.3 בעיות הנדסיות התחברות סוללת גיבוי: המתח אספקה מומלץ מייצרן לגלאי נפח, ל- Arduino,לסרנה, ולמנוע ולממסרים זה, 12V לכן אם אני משתמש במתח אספקה ראשי של, 12V ואשתמש בסוללת גיבוי של 12V כמתואר באיור 16, לא תהיה וודאות שמתח אספקה ראשי יספק מתח למערכת כל הזמן, כי לשתי דיודות נותנים 12V, לכן בשביל לקיים וודאות שמתח אספקה ראשי יספק מתח כל עוד יש חשמל, בחרתי שמקרו מתח האספקה הראשי יהיה 13V, ובזה תהיה וודאות שהדיודה שמחוברת אל מקור המתח הראשי תנצח תמיד והסוללה לא תהיה מחובר כל עוד יש חשמל בבית, אבל לפי ה- datasheet של הדיודה,IN5822 עם הולכת זרם למערכת של 1.5A מפל המתח על הדיודה יהיה סביבות, 0.45V לכן מתח האספקה למערכת יהיה 12.55V, וזה בטווח המותר לכל הרכיבים של המערכת, וברגע שמתרחש הפסקת חשמל בבית סוללת הגיבוי מתחברת ישירות דרך הדיודה, IN5822 ומפל מתח מקסימלי לפי צריכת הזרם המקסימלי למערכת לא יעלה על 0.45V, לכן מתח האספקה שהמערכת מקבלת יהיה לפחות 11.55V, וזה בטווח המותר והתקין לכל הרכיבים של המערכת שנ''ל. קבלת הודעות ממשתמש אחד: ל- GPRS Shield מכניסים כרטיס SIM ומפעילים את המודול, ובכך כרטיס ה SIM מתחבר לרשת הסלולרית,GSM והבעיה היא שכל פלאפון יכול לשלוח הודעות למערכת, ויש סיכון שמישהו יזהה את התוכן הפשוט של ההודעות שהמערכת עובדת לפיהן, ואז גם הוא יוכל לקבל שליטה על הבית. לפתור את הבעיה הזאת, תכננתי שברגע שמתקינים את המערכת עם הפעלה ראשונית המערכת דורשת מהמשתמש להקליד את מספר הפלאפון שלו ובכך המערכת תעבוד עם ההודעות שמתקבלות מאותו מספר ומתעלמת משאר ההודעות ממספרים אחרים. 26
4. סיכום ודיון 4.1 סיכום בפרויקט הזה נחשפתי לעולם המיקרו-בקרים של Arduino וליכולת שלהם, ונחשפתי לרשת תקשורת, GSM ולרכיבים אלקטרוניים שימושיים בפרויקטים במיוחד.opto-isolator,l293d, uln2803 ותוך כדי עבודה שלי למדתי והבנתי שקבלת החלטות צריכים להיות מבוססים על שיכולים וחישובים סביב התכנון לקבלת תכנון תקין. 4.2. ניתוח בחירת פתרון והשואה לאפשרויות אחרות: בחלק של בדיקת הפסקת חשמל בבית, הייתה לי אופציה להשתמש במחלק מתח כמתואר באיור 02: איור 02- סכמה אלקטרונית למחלק מתח ועבור מעגל זה מתקיים, והיה אפשרי לבחור יחס של נגדים כך שאם Vin=12V אקבל,Vout=5V וכאשר,Vin=0V יתקבל 2 ב,Vout וכל המיקרו-בקר ידע לזהות הפסקת חשמל. אבל אין פה הגנה לכניסה למיקרו-בקר. לכן השתמשתי ב opto-isolator כי הוא יותר אמין לכניסת המיקרו-בקר, כי הוא מבודד בין מתח האספקה לבין פין הכניסה למיקרו-בקר כמתואר באיור 7.. 27
5. סימוכין International Data Corporation, smartphone OS market share.1 http://www.idc.com/prodserv/smartphone-os-market-share.jsp Wikipedia, GSM services.2 http://en.wikipedia.org/wiki/gsm_services Arduino, DigitalPins.3 http://arduino.cc/en/tutorial/digitalpins Seeedstudio, GPRS Shield V1.0.4 http://www.seeedstudio.com/wiki/gprs_shield_v1.0 Liquid Crystal Library, Arduino main site.5 http://arduino.cc/en/reference/liquidcrystal 12v Low Rpm High Torque DC Gear Motor.2 http://leisonmotor.en.made-in-china.com/product/jmnjdeipfbrk/china-12v-low-rpm-high- Torque-DC-Gear-Motor.html 6. נספחים לחוברת זו מצורף CD עליו ניתן למצוא את כל הקודים הרלוונטיים, דפי-נתונים וכן חוברת זו. 28
פרטים אישיים שם פרטי: אמג'ד שם משפחה: ח'ורי מקום מיגורים: עראבה מיקוד- 328.0 תאריך לידה : 989./02/2 ארץ לידה: ישראל טל-נייד: 2525000722 דואר-אלקטרוני : amjad.khoury89@gmail.com מצב משפחתי: רווק השכלה 0227 סיום בית ספר תיכון במגמה של פיזיקה-כימיה. 0229/02.2 לימודי B.Sc. בהנדסת במכללה האקדימית אורט בראודה להנדסה בכרמיאל, עם התמחויות : מחשבים ( חומרה ותוכנה ) תקשורת ותדר גבוה. 02.0/02.3 סמסטר אביב התחלתי ללמוד לימודי הוראה, באורט בראודה כרמיאל. ניסיון תעסוקתי : 0227/0228 עבודות משק בבית מלון. 0228/0229 הנהלת מינימרקט פרטית, ועבודות שונות : אינסטלציה, שיפוצים. 02.3/02.2 נובמבר עד מרס מורה למתמטיקה במרכז תרבות וספורט כרמיאל. שליטה במחשבים וכישורים : שליטה מלאה במחשב. שליטה מאלה בחבילת אופס, בעיקר ) ppt ( word, excel, שפות תכנות : שפת תכנות C Python Assembly Linux operating system Microcontrollers Computer Networks and Communications principles שפות: ערבית שפת אם עברית ( כתיבה קריאה ודיבור ) מעולה אנגלית ( כתיבה קריאה ודיבור ) מעולה תמצית: אני סטודנט בעל מוטיבציה גבוהה, נאמן בעל אנרגיה חיובית אסרטיבי ואחראי, מאהב של ידע והתקדמות. 29